ZI
pedido

A cada up Club Aumenta 25 de HP

Por Zikaduh, 09 de ago. de 2013 em Scripts

resolvido
script
38
3k
ZikaduhZ
12 de agosto de 2013 às 19:19

Eu troquei :

setCreatureMaxHealth(cid, 25)

por:

setCreatureMaxHealth(cid, getCreatureMaxHealth(cid)+25)

 

mais so funciona quando o player desloga e loga.

Tem como coloca pro player não precisa desloga?

Editado Agosto 12 por Zikaduh

SlicerS
12 de agosto de 2013 às 19:36

lol? essa funçao era pra funcionar sem precisar relogar o.O

ZikaduhZ
12 de agosto de 2013 às 19:39

Eu tava vendo um pedido bem antigo aquii e eu acho que talvez isso sirva? (acho que e o que você falo Query).

 

local hp,mana = (getVocationInfo(voc_ID).healthGain*getPlayerLevel(cid)),(getVocationInfo(voc_ID).manaGain*getPlayerLevel(cid))
doRemoveCreature(cid)
db.executeQuery("UPDATE `players` SET `manamax` = "..mana..",`health` = "..hp..", `healthmax` = "..hp..",`mana` = "..mana.." WHERE `id` = "..pid)

 

Sera que da pra fazer pra que so aumente o HP no lugar da mana

SlicerS
12 de agosto de 2013 às 19:44

isso muda tanto o hp qnt mana... mas soh funciona depois do player deslogar... por isso a funçao setPlayerMaxHealth... ela muda direto no Objeto Player... ;x

 

edit: descobri oq tava faltando...

coloque isso..

doCreatureAddHealth(cid, 25)

embaixo disso...

setCreatureMaxHealth(cid, getCreatureMaxHealth(cid)+25)

Editado Agosto 12 por Slicer

ZikaduhZ
12 de agosto de 2013 às 20:01

A lembrei e que quando usa o

 

setCreatureMaxHealth(cid, getCreatureMaxHealth(cid)+25)

 

não e preciso que o player desloge mais e preciso que o player tome algum rit pra pode fucionar

 

coloque essa script pra quando o player receber 25 de HP ele tome um rit de 1 de life que vai fucionar


eu fiz esse test aki e fuciono.

Editado Agosto 12 por Zikaduh

MaenilseM
12 de agosto de 2013 às 20:02

botei a funçao que o slicer falo, testa ae.

 

local config = {
[1] = { "Club UP", 30} -- 30 = variable[2]
}
 
function onAdvance(cid, skill, oldlevel, newlevel)
local pos = getPlayerPosition(cid)
local effectPositions = {
{x = pos.x, y = pos.y - 1, z = pos.z},
{x = pos.x, y = pos.y + 1, z = pos.z},
{x = pos.x - 1, y = pos.y, z = pos.z},
{x = pos.x + 1, y = pos.y, z = pos.z},
{x = pos.x - 1, y = pos.y - 1, z = pos.z},
{x = pos.x + 1, y = pos.y - 1, z = pos.z},
{x = pos.x + 1, y = pos.y + 1, z = pos.z},
{x = pos.x - 1, y = pos.y + 1, z = pos.z}
}
for type, variable in pairs(config) do
if skill == type then
for _, ePos in pairs(effectPositions) do
setCreatureMaxHealth(cid, getCreatureMaxHealth(cid)+25)
doCreatureAddHealth(cid, 25)
doSendAnimatedText(pos, ""..variable[1].."["..newlevel.."]", 86)
doSendMagicEffect(pos, CONST_ME_FIREWORK_BLUE)
end
end
end
return TRUE
end
SlicerS
12 de agosto de 2013 às 20:13

alias, agora q parei pra ver, esse script esta errado --' vai da 8*25 de life...

 

usa esse aki...

local config = {
   msg = "Clup UP",
   eff = CONST_ME_FIREWORK_BLUE,
}

function onAdvance(cid, skill, oldlevel, newlevel)
   local diff = newlevel - oldlevel
   doSendMagicEffect(getThingPos(cid), config.eff)
   doSendAnimatedText(getThingPos(cid), config.msg.."["..newlevel.."]", 86)
   
   setCreatureMaxHealth(cid, getCreatureMaxHealth(cid)+(diff*25))
   doCreatureAddHealth(cid, diff*25)
return true
end

Editado Agosto 12 por Slicer

ZikaduhZ
12 de agosto de 2013 às 20:15

Transforma ae

MaenilseM
12 de agosto de 2013 às 20:16

@Zikaduh pedido via chat, faça o mesmo passo que tu fez com o script de club e so mude o script. pra esse. peguei do slicer, e editei.

local config = {
   msg = "Skill UP",
   eff = CONST_ME_FIREWORK_BLUE,
}

function onAdvance(cid, skill, oldlevel, newlevel)
   local diff = newlevel - oldlevel
   if skill == 2 then
   doSendMagicEffect(getThingPos(cid), config.eff)
   doSendAnimatedText(getThingPos(cid), config.msg.."["..newlevel.."]", 86)
   return TRUE
   end
   
   setCreatureMaxHealth(cid, getCreatureMaxHealth(cid)+(diff*25))
   doCreatureAddHealth(cid, diff*25)
return true
end

Editado Agosto 12 por Maenilse

ZikaduhZ
12 de agosto de 2013 às 20:16

So um ultimo pedido transforma de club pra sword e de HP pra Mana?

SlicerS
12 de agosto de 2013 às 20:18

@Maenilse

como ja flei, teu script esta errado... o setMax ta dentro do for... vai dar + 8*25 de life/mana...

ZikaduhZ
12 de agosto de 2013 às 20:25

Slicer

o seu da adicionando 25 de HP sempre que upa qualquer skill

Ageita o post por favor

Se upa sword ganha 25 de HP se upa shield ganha 25 de HP

MaenilseM
12 de agosto de 2013 às 20:29

@Slicer é o teu script, eu so botei a skill Sword, e pra add mana.

ZikaduhZ
12 de agosto de 2013 às 20:31

local config = {
msg = "Clup UP",
eff = CONST_ME_FIREWORK_BLUE,
}

function onAdvance(cid, skill, oldlevel, newlevel)
local diff = newlevel - oldlevel
doSendMagicEffect
(getThingPos(cid), config.eff)
doSendAnimatedText(getThingPos(cid), config.msg.."["..newlevel..]", 86)

setCreatureMaxHealth
(cid, getCreatureMaxHealth(cid)+(diff*25))
doCreatureAddHealth(cid, diff*25)
return true
end

 

 

Sera que você consegue ageita pra que so suba o HP se subir o skill de club??

MaenilseM
12 de agosto de 2013 às 20:34

toma ae lek. OBS: esse é o script do slicer.

 

local config = {
   msg = "Club UP",
   eff = CONST_ME_FIREWORK_BLUE,
}

function onAdvance(cid, skill, oldlevel, newlevel)
   local diff = newlevel - oldlevel
if skill == 1 then
   doSendMagicEffect(getThingPos(cid), config.eff)
   doSendAnimatedText(getThingPos(cid), config.msg.."["..newlevel.."]", 86)
return TRUE
end
   
   setCreatureMaxHealth(cid, getCreatureMaxHealth(cid)+(diff*25))
   doCreatureAddHealth(cid, diff*25)
return true
end